#ifndef LISTITEMWIDGET_H
#define LISTITEMWIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include "clipboardItem.h"  // 确保包含 ClipboardItem 的头文件
#include <QtSvg/QSvgWidget>

class TextItemWidget : public QWidget {
    Q_OBJECT

public:
    explicit TextItemWidget(const ClipboardItem& item, QWidget *parent = nullptr);

    // 添加一个方法获取存储的 ClipboardItem
    ClipboardItem getItem() const;

signals:
    void copyClicked();
    void deleteClicked();
    void searchClicked();
    void getDetailDoubleCliked();
    void favoriteClicked();

public slots:
    void updateFavoriteButtonStyle();  // 添加新方法

private slots:
    void onCopyClicked();
    void onDeleteClicked();
    void onSearchClicked();
    void onGetDetailDoubleCliked();
    void onFavoriteClicked();

protected:
    bool eventFilter(QObject* obj, QEvent* event) override;  // 事件过滤器

private:
    ClipboardItem item;           // 存储 ClipboardItem
    QLabel *textLabel;            // 文本标签
    QLabel *titleLabel;            // 文本标签
    QPushButton *copyButton;      // 复制按钮
    QPushButton *deleteButton;    // 删除按钮
    QPushButton *searchButton;    // 搜索按钮
    QPushButton *favoriteButton;  // 收藏按钮
    QVBoxLayout *mainLayout;      // 主垂直布局
    QHBoxLayout *buttonLayout;    // 按钮的水平布局
    QHBoxLayout *favoriteTextLayout;    //收藏按钮标题水平布局
    QSvgWidget* favoriteIcon;  // 添加 SVG 图标组件
};

#endif // LISTITEMWIDGET_H
